home *** CD-ROM | disk | FTP | other *** search
- Subject: v18i040: Mail user's shell version 6.4, Part18/19
- Newsgroups: comp.sources.unix
- Sender: sources
- Approved: rsalz@uunet.UU.NET
-
- Submitted-by: Dan Heller <island!argv@sun.com>
- Posting-number: Volume 18, Issue 40
- Archive-name: mush6.4/part18
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 18 (of 19)."
- # Contents: mush.1.2
- # Wrapped by rsalz@papaya.bbn.com on Mon Mar 13 19:25:24 1989
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'mush.1.2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mush.1.2'\"
- else
- echo shar: Extracting \"'mush.1.2'\" \(49816 characters\)
- sed "s/^X//" >'mush.1.2' <<'END_OF_FILE'
- X.sp
- X.nf
- X.ti +2
- Xalias dan dheller@cory.berkeley.edu island!argv@sun.com
- X.fi
- X.sp
- XThis defines the name \*Qdan\*U to be shorthand for two addresses,
- Xboth of which happen to be Dan Heller.
- X.sp
- XThe command
- X.B unalias
- Xcan be used to remove an alias definition.
- X.sp
- XWith no arguments,
- X.B alias
- Xprints out all the current aliases.
- XWith one argument, it prints the list associated with that name,
- Xand with more than one argument, it creates a new alias.
- X.TP
- X.BR alternates " [host-list] [!path!login] [*]"
- X.RB ( alts )
- XThis command
- Xis useful if you have accounts on several machines.
- XIt can be used to inform
- X.I Mush
- Xthat your login name at each of the listed hosts is really you.
- XWhen you
- X.B reply
- Xto messages,
- X.I Mush
- Xwill not send a copy of the message to your login name at any of the
- Xhosts listed on the
- X.B alternates
- Xlist. If the special symbox \*Q*\*U is used, then your login name is
- Xmatched against all pathnames and local addresses.
- X.sp
- XIf you have another login name on the local or remote machine, then
- Xthat login may be specified by preceding the login name or the path
- Xto the login name by a `!' character.
- X.sp
- XFor example,
- X.sp
- X.nf
- X.ti +2
- Xalts island maui molokai ceylon !cory.berkeley.edu!dheller !root
- X.fi
- X.sp
- Xare all either hostnames or pathnames to my other accounts.
- XThe last item, \*Q!root\*U will match root that is only destined for my
- Xworkstation.
- XRoot accounts elsewhere are not considered to be me.
- X.sp
- XIf the
- X.B alternates
- Xcommand is given with no arguments, the current set of alternate
- Xnames is displayed.
- X.TP
- X.BR bind " [string [command [parameters]]]"
- X.ns
- X.TP
- X.BR unbind " string"
- X.rs
- XBind the sequence of keystrokes specified by
- X.I string
- Xto the curses-mode function,
- X.IR command .
- XThe
- X.I string
- Xis usually one or two characters, or a sequence sent by
- Xone of the \*Qfunction keys\*U of a particular terminal.
- XSee the CURSES INTERFACE section for a complete list of curses-mode
- Xfunctions; this interface is not available on all systems.
- XThe
- X.I parameters
- Xare currently recognized only for the special
- X.B macro
- Xfunction; see the
- X.B bind-macro
- Xcommand for details.
- X.sp
- XIf no arguments are given to
- X.BR bind ,
- Xthe current set of curses bindings are listed;
- Xif only a
- X.I string
- Xargument is given, the binding for that string is listed;
- Xand if both a
- X.I string
- Xand a
- X.I command
- Xare given, a curses binding is created such that when the
- X.I string
- Xis typed in curses mode, the function specified by
- X.I command
- Xwill be executed.
- X.sp
- XBindings can be removed by using the
- X.B unbind
- Xcommand.
- X.TP
- X.BR bind-macro " [string [expansion]]"
- XThis command is an abbreviation, which invokes the
- X.B bind
- Xcommand with the special function
- X.B macro
- Xas the second argument.
- XThe effect of binding a curses macro is that whenever the
- X.I string
- Xis typed in curses mode, the effect is the same as if the
- X.I expansion
- Xhad been typed instead.
- XA special sytax is provided for including non-printing (control)
- Xcharacters in both the
- X.I string
- Xand the
- X.IR expansion ;
- Xsee the CURSES INTERFACE section and the MACROS section for details.
- X.sp
- XIf no arguments are given,
- X.B bind-macro
- Xwill list the current curses mode macros.
- XIt is otherwise identical to
- X.in +4
- X.B bind
- X.I string
- X.B macro
- X.IR expansion .
- X.in -4
- X.TP
- X.B cd
- XChange the working directory to that specified, if given.
- XIf no directory is given, then changes to the user's home directory.
- X.TP
- X.BR cmd " [name [command]]"
- X.ns
- X.TP
- X.BR uncmd " name"
- X.rs
- XCommand line aliases are set and unset using these commands.
- XMore extensive information is given in the LINE-MODE INTERFACE section.
- X.B Uncmd
- Xmay take `*' as an argument to uncmd everything set.
- X.TP
- X.BR debug " [N]"
- XSet debugging level to N (1 by default).
- XWhen in debug mode, the user can see some of the flow of
- Xcontrol the program makes while executing.
- XThe intent of the debug level is for tracking down
- Xbugs with the program at specific locations.
- XOccasionally, the program may segmentation fault and core dump.
- XWhen this happens, the user can reenter the program,
- Xset the debugging level and recreate the problem.
- X.sp
- XIf the user suspects memory allocation problems, a debugging
- Xlevel of 2 or higher will prevent memory from being freed so that
- Xmemory bounds won't get overwritten.
- X.sp
- XIf the user suspects sendmail errors,
- Xa debugging level of 3 or higher will prevent sendmail from starting
- Xand outgoing mail is directed to the standard output instead of actually
- Xbeing sent.
- X.TP
- X.BR delete / undelete
- X.RB ( d / u )
- XTakes a message list as argument and marks them all as deleted.
- XDeleted messages will not be saved in
- X.IR mbox ,
- Xnor will they be available for most other commands.
- XIf the folder has not been updated, deleted messages can be recovered
- Xwith
- X.BR undelete .
- X.TP
- X.B dt
- XDeletes the current message and prints the next message.
- X.TP
- X.BR echo " [-n] [-h | -p] arguments"
- XEchoes all the arguments given on the command line, expanding variables
- Xand history references. If the -n flag is given, then no newline is appended.
- XIf the -h flag is given, then echo looks for formatting parameters
- Xas if the "from" command were given on the "current" message.
- XIf the -p flag is given, then echo looks for formatting parameters
- Xas if your prompt were changed temporarily.
- X.sp
- XExamples:
- X.sp
- X.nf
- X.ti +2
- Xecho -h This message is from %a and is dated %d.
- X.br
- Xmight produce:
- X.ti +2
- XThis message is from island!argv and is dated Dec 14, 1988.
- X.sp
- X.ti +2
- Xecho -p There are %n new messages to read in %f.
- X.br
- Xmight produce:
- X.ti +2
- XThere are 5 new messages to read in /usr/spool/mail/argv.
- X.fi
- X.sp
- XNote that -h and -p cannot be specified together.
- X.TP
- X.B edit
- X.RB ( e ,
- X.BR v )
- XThis function lets you edit messages in your folder. When editing messages,
- Xbe careful not to remove certain message headers such as Date or From or
- Xany others that looks important. If you remove or change something you
- Xshouldn't have, you will be notified and the temporary file used to edit
- Xthe message will not be removed.
- X.TP
- X.BR eval " arg ..."
- XAs in most shells, the list of arguments to
- X.B eval
- Xis re-parsed and then executed as a command.
- XThis is useful primarily for causing multiple levels of variable expansion.
- X.TP
- X.B exit
- X.RB ( x )
- XReturns immediately to the login shell without
- Xmodifying the current folder or system spool directory.
- X.TP
- X.BR expand " alias-list"
- XAliases, given as arguments, are expanded as they would be if you
- Xwere to send mail to each.
- X.TP
- X.BR fkey " [string [command]]"
- X.ns
- X.TP
- X.BR unfkey " string"
- X.rs
- XWith no arguments,
- X.B fkey
- Xprints the values of the function keys.
- XThe function keys are used in the graphics tool mode only.
- XYou can set the values of function keys explicitly using the
- X.B fkey
- Xcommand, but the whole process is automated by using the function key
- Xinterface provided by the graphics mode.
- XBy default, the last key in each function key pad displays
- Xthe values of all the function keys in that set.
- XThere are the left, right and top set of keys.
- X.sp
- XFunction keys may be unset with the
- X.B unfkey
- Xcommand, or by using the function key interface.
- X.TP
- X.BR flags " [msg-list] [ [ + | \- ] [ D N O P R r S U ] ]"
- XThis command modifies the flag bits set on the listed messages.
- XIt should not normally be needed, but is provided to allow users, through
- Xthe
- X.B cmd
- Xfacility, to alter the ways that certain conditions are recorded.
- XMultiple flag bits may be set or modified at once.
- XThe modifiable flag bits are:
- X.sp
- X.nf
- X.ta 2i
- X.in +4
- XD deleted
- XN new
- XO old
- XP preserved
- XR read
- Xr replied-to
- XS saved
- XU unread
- X.in -4
- X.fi
- X.sp
- XIf a `+' or `\-' precedes the list of bits, the specified bits are turned
- Xon or off respectively, without modifying other bits.
- XIf no `+' or `\-' is given, then the list of bits is set explicitly and
- Xall other bits are lost.
- X.sp
- XMessage lists can be piped to the
- X.B flags
- Xcommand; for example, you may use
- X.sp
- X.nf
- X.ti +4
- Xcmd r 'reply \\!* | flags + r'
- X.fi
- X.sp
- Xto mark as
- X.I replied-to
- Xall messages included in a reply,
- X.TP
- X.BR folder " [\-N] [\-r] [!] [ %[user] | # | & | file ]"
- X.RB ( fo )
- XChange current folder.
- XWith no arguments, prints the name of the current folder.
- XThe arguments are:
- X.nf
- X.ta 1i
- X.in +2
- X\-N No headers are displayed upon entering new folder
- X\-r Set Read-Only mode (can't alter new folder)
- X! If specified, the current folder is not updated
- X%[user] Change to /usr/spool/mail/[user] (default is yours)
- X# Switch back to the previous folder
- X& Change folder to $mbox (default is ~/mbox)
- X.in -2
- X.fi
- X.sp
- XThis command can only appear in a pipeline if it is the first command;
- Xit returns a list of all the messages in the new folder.
- X.TP
- X.B folders
- XList the names of the folders in your folder directory.
- XYour folder directory is the directory
- X.I Mail
- Xin your home directory.
- XOr, you can set the variable
- X.B folder
- Xto specify another folder directory.
- X.br
- X.TP
- X.BR from " [ + | \- ]"
- X.RB ( f )
- XWith no arguments,
- X.I from
- Xwill print the current message's header.
- XIf given a message list,
- X.I from
- Xwill print the headers of those messages that are in the list.
- X.sp
- XThe special arguments `\-' and `+' can be given to move the
- Xcurrent message pointer to the previous or next message,
- Xrespectively, while also printing that message's header.
- XIf a message list was given in addition to `\-' or `+', then
- Xthe current message pointer will be set to the first or last
- Xmessage, respectively, in the message list given.
- XExamples:
- X.sp
- X.ti +2
- Xpick \-f Dan | from +
- X.sp
- Xwill print the headers of all messages that contain \*QDan\*U in
- Xin the author's name and set the current message pointer to
- Xthe last one of that kind in the list.
- X.sp
- X.ti +2
- Xfrom \- 10-30 {16}
- X.sp
- Xwill print the headers of messages 10 through 30 except for
- Xmessage 16 and set the current message pointer to 10.
- X.sp
- X.ti +2
- Xfrom +
- X.sp
- Xwill print the header of the message after the current message
- Xand increment the current message pointer to the next message.
- X.sp
- X.ti +2
- Xfrom $
- X.sp
- Xwill print the last message's header and not move the current
- Xmessage pointer.
- X.TP
- X.BR headers " [ [\-H][:c] ] [ + | \- ]"
- X.RB ( h ,
- X.BR z )
- XPrints a screenful of message headers listed in the
- Xcurrent folder.
- XIf a message number is given on the command line,
- Xthe first message of the screenful of messages will be
- Xthat message number.
- XThe `z' command is identical to the \*Qh +\*U
- Xcommand and remains for compatibility reasons.
- XThe variable
- X.B screen
- Xmay be set to tell how many headers are in a screenful.
- XIn the graphics tool mode, the variable
- X.B screen_win
- Xcontains the number of headers used in the headers subwindow.
- X.sp
- XA typical header may look like:
- X.sp
- X.ti +2
- X5 >N argv@spam.istc.sri.com Feb 19, (10/278) Test
- X.sp
- XThis line indicates that it is message number 5 and the
- X.I >
- Xindicates that the \*Qcurrent message pointer\*U is pointing to this
- Xmessage.
- XThe next two positions indicate the message status.
- XThe first
- Xmay be one of, \*QN\*U (new and unread), \*QU\*U (old, but still
- Xunread), \*Q*\*U (deleted), \*QS\*U (saved), \*QP\*U (preserved),
- Xor \*Q \*U (read).
- XThe second position may have an \*Qr\*U if the message
- Xhas been replied to.
- X.sp
- XThe author of the example message header is
- X.IR argv@spam.istc.sri.com ,
- Xthe date is
- X.IR "Feb 19" ,
- Xthe number of lines in the message is
- X.IR 10 ,
- Xthe number of characters is
- X.I 278
- Xand the subject of the message is
- X.IR Test .
- XThe format of the message header shown here is described by
- Xthe string variable
- X.BR hdr_format .
- XThe example given above has a hdr_format of
- X.sp
- X.ti +2
- Xset hdr_format = "%25f %7d (%l/%c) %25s"
- X.sp
- XSee the description of
- X.B hdr_format
- Xin the VARIABLES section for more information on header formats.
- X.sp
- XYou can print a special subset of message headers by using the
- X.I \-H:c
- Xoption, where `c' is one of:
- X.nf
- X.in +2
- X.ta 1i
- X.if t .ta 1.5i
- Xa all messages
- Xd deleted messages
- Xn new messages
- Xo old messages
- Xr replied to messages
- Xs saved messages
- Xu unread messages
- X.fi
- X.in -2
- XNote that the \-H is not required; \*Qheaders :c\*U is valid.
- X.sp
- XMore options to the
- X.B headers
- Xcommand include
- X.RI ` + '
- Xand
- X.RI ` \- '.
- XEach will print the next or previous screenful of message headers.
- XThe
- X.B z
- Xcommand can also be used; `z' alone will print the next
- Xscreenful (thus, the `+' is optional)
- Xand \*Qz \-\*U is equivalent to \*Qh \-\*U.
- X.sp
- XHeaders affects all the messages it displays, so piping may be done
- Xfrom the headers command.
- XPiping to the headers command causes the
- Xmessage headers affected by the previous command to be printed.
- XThis action is identical to piping to the
- X.B from
- Xcommand.
- X.TP
- X.BR help " [topic]"
- XHelp is provided on a per topic basis and on a general basis.
- XFor general help, just typing
- X.I help
- Xwill provide some general information as to how to get further help
- Xand a list of topics suggested for more specific help.
- XThere is also help provided for each command by using the \-?
- Xoption to most commands.
- XThis option will provide command line usage information as well as a
- Xdescription of what the command does and how to use it.
- X.TP
- X.BR history " [\-h] [\-r] [N]"
- XThis command displays the command history in chronological order; early
- Xcommands are printed first followed by more recent commands displayed last.
- XOption
- X.I \-h
- Xsuppresses printing of history event numbers with each history command.
- XOption
- X.I \-r
- Xreverses the order of the history events displayed.
- X.sp
- XIf a number
- X.I N
- Xis given, then that number of previous commands is
- Xechoed rather than the number set by the variable
- X.BR history .
- X.TP
- X.BR ignore / unignore " [header-list]"
- XDisplay or set a list of headers to be ignored when displaying messages.
- XWhen reading messages, all the message headers are displayed with the text
- Xbody of the message.
- XSince these message identifier fields are cumbersome and uninteresting
- Xin many cases, you can filter out unwanted headers by using this command.
- XFor example,
- X.sp
- X.ti +2
- Xignore Received Date Message-Id
- X.sp
- Xwill ignore the three specified fields.
- XThe command
- X.B unignore
- Xis used to reverse the effects of
- X.BR ignore .
- X.TP
- X.BR lpr " [\-Pname] [msg_list]"
- XTakes a message list and sends those messages, one by one, to the printer,
- Xeach separated by page feeds.
- XA default printer name is supplied if one is not specified on the
- Xcommand line (-Pprinter-name).
- XIf you have the variable
- X.B printer
- Xset, that printer name will be used.
- X.sp
- XIf the variable
- X.B print_cmd
- Xis set, the command described by that variable will be used instead
- Xof the default system command.
- XIn such cases, the -P option and the
- X.B printer
- Xvariable are ignored and the command is simply executed as is.
- X.TP
- X.BR ls " [flags]"
- XThis command duplicates the
- X.IR UNIX (TM)
- Xcommand
- X.I /bin/ls.
- XThe variable
- X.B lister
- Xdescribes flags to be passed to ls automatically.
- XBy default,
- X.I ls
- Xalways uses the -C flag (column output).
- X.TP
- X.BR mail " [flags] [recipient ...]"
- X.RB ( m )
- XSend mail to a list of users.
- XIf no recipient list is specified on the
- X.I Mush
- Xcommand line, then a \*QTo: \*U prompt will request one.
- XA list of recipients must be supplied.
- XThis implementation of
- X.I Mush
- Xsupports mailing to files and programs as recipients, but at least one
- Xlegitimate user must be specified.
- XFilenames must be full pathnames, thus, they must start with a `/' or there
- Xis no way to know whether a recipient is a pathname or a real user.
- XThe special characters `+' and `~' may precede pathnames since they are
- Xexpanded first to the user's folder directory (+), as described by the variable
- X.BR folder ,
- Xand the user's home directory (~).
- XMailing to programs is indicated by the pipe `|' character preceding the
- Xprogram name.
- XSince the user's path is searched, full pathnames are not required for
- Xprograms that lie in the user's PATH environment variable.
- X.sp
- XExample:
- X.sp
- X.ti +2
- Xmail username, /path/to/filename, "|program_name", +folder_name, ~user/mbox
- X.sp
- XOptions are:
- X.nf
- X.in +2
- X.if n .ta 1.5i
- X.if t .ta 1.8i
- X\-b addr-list set list of blind carbon recipients
- X\-c addr-list set list of carbon copy recipients
- X\-e immediately enter editor (autoedit)
- X\-F add random fortune to the end of message
- X\-f [msg-list] forward msg_list (not indented)
- X\-h [msg-list] include msg_list with headers
- X\-i [msg-list] include msg_list into letter
- X\-s [subject] prompt for subject [set subject explicitly]
- X\-v verbose (passed to mail delivery program)
- X.in -2
- X.fi
- X.sp
- XThe verbose option may not be available depending on the mail transport
- Xagent on your system.
- X.sp
- XThe \-e flag causes you to enter the editor described by the variable
- X.BR visual .
- X.sp
- XThe \-i flag will include the current message into the body of the
- Xmessage you are about to send.
- XThe included message is indented by
- Xthe string \*Q> \*U or by the string described by the variables
- X.BR indent_str ,
- X.BR pre_indent_str ,
- Xand
- X.BR post_indent_str .
- XSee the VARIABLES section for more information on these string values.
- XIf a message list is given after the \-i option, then the messages
- Xdescribed by that list are included.
- XThe \-h option is identical to the \-i option except that the headers of
- Xthe message are also included.
- X.sp
- XThe \-s flag looks at the next argument and sets the subject to that
- Xstring.
- XIf the string is to contain spaces, enclose the entire subject
- Xin quotes.
- XIf there is no following argument, then the subject will
- Xbe prompted for.
- XThis flag is useful if the user:
- X.sp
- X.in +2
- X.nf
- X\(bu does not have the variable \fBask\fR set, or
- X\(bu wishes to change the subject used with \fBreply\fR
- X.in -2
- X.fi
- X.sp
- XThe subject is not prompted for and is ignored completely if the \-f flag
- Xis specified (see below).
- X.sp
- XThe \-f flag is for message forwarding only.
- XAn optional message list can be given just as the -i option has.
- XThe forward option does not allow you to edit the message(s) being forwarded
- Xunless the -e flag is also specified.
- XThe subject of the message (if available) is the same as the \fIcurrent\f
- Xmessage; it is not necessarily the subject of the message being forwarded.
- XThe subject of forwarded mail cannot be changed.
- XHowever, using the \-e flag
- Xwill allow the user to change the subject once in editing mode using the
- Xescape sequence, \*Q~s\*U.
- X.sp
- XForwarded mail that has not been edited by the user will contain special
- Xheaders such as
- X.sp
- X.ti +2
- XResent-To:
- X.ti +2
- XResent-From:
- X.sp
- Xand perhaps others, depending on your mail transport agent.
- XSendmail, for example, may add a number of other \*QResent-*\*U headers.
- X.TP
- X.BR map [ ! "] [string [expansion]]"
- X.ns
- X.TP
- X.BR unmap [ ! "] string"
- X.rs
- XThe
- X.B map
- Xcommand creates or lists macros for the line mode interface, and the
- X.B map!
- Xcommand creates or lists macros for the message composition mode.
- XIn either mode, macros act in such a way that, when
- X.I string
- Xis typed, the effect is the same as if
- X.I expansion
- Xhad been typed instead.
- XThe
- X.I string
- Xis usually one or two control characters, or a sequence sent by
- Xone of the \*Qfunction keys\*U of a particular terminal.
- XSee the MACROS section for the syntax used to specify the
- X.I string
- Xand the
- X.IR expansion ,
- Xand for comments on the interactions of macros in the same and in
- Xdifferent modes.
- X.sp
- XIf no arguments are given, these commands will display the list of
- Xmacros and expansions for the appropriate mode.
- XIf only a
- X.I string
- Xis given, they will display the
- X.I expansion
- Xassociated with that string for the appropriate mode.
- XOtherwise, they will create a macro, associating the given
- X.I expansion
- Xwith the specified
- X.IR string .
- X.sp
- XLine mode macros are unset with the
- X.B unmap
- Xcommand, and composition mode macros are unset with the
- X.B unmap!
- Xcommand.
- X.TP
- X.BR merge " [-N] folder-name"
- XMessages from the named folder are read into the current folder.
- XThe header summaries of the merged messages are printed unless the \-N
- Xoption is given (see the
- X.B folder
- Xcommand, above).
- XThis command can only appear in a pipeline if it is the first command;
- Xit returns a list of all the messages from the merged-in folder.
- X.TP
- X.BR my_hdr / un_hdr " [header]"
- XYou can create personalized headers in your outgoing mail using this command.
- X.sp
- X.nf
- XUsages:
- X.in +2
- X.ta 2.5i
- Xmy_hdr print all your headers
- Xmy_hdr header print value of header
- Xmy_hdr header: string set header to string
- Xun_hdr header: unset header
- X.in -2
- X.sp
- X.fi
- XTo set a header, the first argument must be a string
- Xthat contains no whitespace (spaces or tabs) and must end with
- Xa colon (:).
- XThe rest of the command line is taken to be the
- Xtext associated with the mail header specified.
- XIf any quotes are used in the header and the header itself is not set in
- Xquotes, then quotes should be escaped (preceded) by a backslash.
- XThis holds true for semicolons, pipe characters
- Xor any other metacharacter that
- X.I Mush
- Xmight interpret as a command line modifier.
- X.sp
- XIf the variable
- X.B no_hdrs
- Xis set, then your headers will not be added to outgoing messages,
- Xbut no headers will be unset.
- XThe
- X.B un_hdr
- Xcommand may take `*' as an argument to un_hdr everything set.
- X.TP
- X.BR pick " [flags] [<pattern>]"
- XAllows the user to select particular messages from a folder.
- XThe <pattern> is a \*Qregular expression\*U as described by
- X.IR ed .
- XIf no arguments are given, the previous expression searched for is used.
- XYou can search for messages from a user, for a particular subject line,
- Xbetween certain dates, and limit searches to a range of messages.
- XYou can also find all messages that do not
- Xmatch the same arguments mentioned above.
- X.sp
- X.nf
- XOptions:
- X.ta 1.5i
- X.in +2
- X\-ago <format> search for messages relative to today's date.
- X\-d [+|\-]date messages sent on or [+ after] [`\-' before] date.
- X\-f search for pattern in \*QFrom\*U field only.
- X\-h header search for pattern in specified header only.
- X\-i ignore case of letters when searching.
- X\-r msg_list search only the listed messages.
- X\-s search for pattern in \*QSubject\*U field only.
- X\-t search for pattern in \*QTo\*U field only.
- X\-x select messages not containing the pattern.
- X.in -2
- X.fi
- X.sp
- XThe
- X.I \-ago
- Xoption can be abbreviated as
- X.IR \-a .
- XOnly one of \-a, \-d, \-f, \-h, \-s and \-t can be specified at once.
- XEntire messages are scanned for the <pattern>
- Xunless \-a, \-d, \-f, \-h, \-s or \-t is specified.
- XMessages marked for deletion are also searched.
- XNo patterns can be specified with the \-a or \-d options.
- X.sp
- XFor the \-d option, \*Qdate\*U is of the form:
- X.sp
- X.ti +2
- Xmonth/day/year
- X.sp
- Xwith an optional `\-' to specify that the messages of interest are those
- Xolder than that date.
- XOmitted fields of the date default to today's values.
- XExamples of selecting on date:
- X.nf
- X.in +2
- X.ta 2.0i
- X.sp
- Xpick \-d 4/20 on April 20, this year.
- Xpick \-d \-/2/85 on or before the 2nd, this month, 1985.
- Xpick \-d +5/4 on or after May 4 of this year.
- Xpick \-d / today only.
- X.fi
- X.in -2
- X.sp
- XAt least one `/' char must be used in a date.
- XThere is no strong date checking; 2/30 would be considered a valid date.
- X.sp
- XFor the \-ago option, the format is very simple. Specify the number of
- Xdays followed by the word \*Qdays\*U, or the number of weeks followed by
- Xthe word \*Qweeks\*U, and so on with months and years. Truncation is allowed,
- Xsince only the first character is examined, so all of the following are
- Xequivalent:
- X.sp
- X.in +2
- X.nf
- Xpick \-ago 1 day, 2 weeks
- Xpick \-ago 2Weeks 1Day
- Xpick \-ago 2w,1day
- Xpick \-a 2w1d
- X.fi
- X.in -2
- X.sp
- XThese examples will find all messages that are exactly 2 weeks and 1 day
- Xold. All \*Qago\*U dates collapse into \*Qday\*U time segments. This
- Xmeans that months are 30.5 days long. If more precise date selection is
- Xrequired, use the \-d option and specify specific dates.
- X.sp
- XAlso note that the \-ago option allows
- Xthe \*Qbefore\*U (\-) and \*Qafter\*U (+)
- Xarguments. Thus, you may pick all messages older than 1 week with:
- X.sp
- X.ti +2
- Xpick \-ago \-1 week
- X.sp
- XOther examples of
- X.B pick:
- X.sp
- X.ti +2
- Xpick \-d 2/5/86 | pick \-d \-2/5/87 | pick \-s "mail stuff" | lpr
- X.sp
- Xwill find all the messages between the dates February 5, 1986, and
- XFebruary 5, 1987, that contain the subject "mail stuff" and send them
- Xto the printer.
- X.sp
- X.ti +2
- Xpick -s Re: | delete
- X.sp
- Xdeletes messages that have \*QRe:\*U in the Subject header.
- X.sp
- X.ti +2
- Xfolder +project | pick \-f frank
- X.sp
- XFinds all messages from frank in the folder described by +project.
- X.sp
- X.ti +2
- Xpick \-h return-path ucbvax
- X.sp
- XSearches all messages that have the header "Return-Path:" and determines
- Xif the string \*Qucbvax\*U is in the header.
- XNote that case sensitivity
- Xapplies only to the pattern searched, not the header itself.
- X.sp
- X.ti +2
- Xpick \-ago +1w | save +current
- X.sp
- XThis finds all messages that are a week or less old and saves them in the file
- Xcalled \fIcurrent\fR, which is found in the user's \fIfolder\fR variable.
- X.TP
- X.BR pipe " [msg-list] unix-command"
- XAllows the user to send the texts of a list of messages to a
- X.IR UNIX (TM)
- Xcommand.
- XThe list of messages may either be given explicitly or may come from
- Xa mush pipeline (see \*QCommand Pipes\*U under FEATURES, and also the
- XLINE-MODE INTERFACE section).
- XIf a list is neither given nor piped, the current message is used.
- XHeaders which have not been ignored are considered part of the message
- Xtext for purposes of this command.
- XFor example,
- X.sp
- X.in +4
- X.nf
- Xpipe 3 5 7 patch
- X.fi
- X.in -4
- X.sp
- Xsends the text of messages 3, 5 and 7 to the
- X.I patch
- Xutility.
- X.sp
- XThis command can also be invoked as
- X.BR Pipe
- X(note capitalization), in which case only the body of the messages,
- Xand none of the message headers, are sent to the unix command.
- X.sp
- XWhen the variable
- X.B unix
- Xis set,
- X.IR UNIX (TM)
- Xcommands can appear anywhere
- X.I except as the first command
- Xin a mush pipeline without explicitly using
- X.BR pipe .
- XHowever, it is still necessary to specify
- X.B Pipe
- Xin order to exclude all headers.
- X.TP
- X.B preserve
- X.RB ( pre )
- XSaves a message list in your spool directory rather than
- Xyour mailbox unless it has been explicitly deleted.
- XThe variable
- X.B hold
- Xcauses all messages to be held in your spool directory automatically.
- X.TP
- X.B print
- X.RB ( p ,
- X.BR type ,
- X.BR t )
- XTakes a message list and displays each message on the user's terminal.
- XIf the first letter of the command is a capital letter (`P' or `T')
- Xthen \*Qignored\*U headers are not ignored
- X.I provided
- Xthat the variable
- X.B alwaysignore
- Xis not set.
- XIf this variable is set, the ignored headers will be
- Xignored regardless of the command used to display the message.
- XSee the
- X.B ignore
- Xcommand for more information about ignored message headers.
- X.sp
- XThe `+' and the `\-' keys can be used to display the \*Qnext\*U
- Xand \*Qprevious\*U messages respectively.
- XThe `+' key has the caveat that the
- Xmessage is not paged at all and none of the messages headers are displayed.
- X.TP
- X.B pwd
- XPrints the current working directory.
- X.TP
- X.B quit
- X.RB ( q )
- XUpdates the current folder and exits from
- X.IR Mush .
- XIf the variable \*Qhold\*U is set, all messages not marked for deletion are
- Xsaved in the spool directory.
- XOtherwise, messages that have been read are saved to
- X.I ~/mbox
- Xor to the file described by the string variable
- X.BR mbox .
- XMessages marked for deletion are discarded.
- XUnread messages go back to the spool directory in all cases.
- X.TP
- X.BR reply / replyall " [msg_list] [-r path] [flags] [users]"
- X.RB ( r / R )
- XMessages are replied to by sending mail to the sender of each message
- Xin the given message list.
- XThe command
- X.B replysender
- Xis equivalent to
- X.BR reply .
- X.B Replyall
- Xresponds to all the recipients as well as the sender of the message.
- XThese commands understand all the same flags as the
- X.B mail
- Xcommand.
- X.sp
- XWhen constructing a return mail address to the author of a message,
- X.B reply
- Xsearches for special mail headers in the author's message that
- Xindicate the most efficient mail path for return mail.
- X.I Mush
- Xwill search for the \*QReply-To:\*U, \*QReturn-Path:\*U,
- Xand \*QFrom:\*U headers, in that order, by default.
- X.sp
- XIf none of these fields are found in the message, the first line of the
- Xmessage is parsed if possible;
- Xthis \*QFrom \*U line is different from the \*QFrom: \*U line.
- XIf the user wishes to change the order or the actual fields to search for
- Xreturn paths, then the variable
- X.B reply_to_hdr
- Xmay be set to a list of headers to be used (in the order specified).
- XIf it is set, but has no value, the first \*QFrom \*U line is used
- Xregardless of what headers the author's message contains.
- XThe \*QFrom \*U line may be specified explicitly as an item in the
- Xlist of reply-to headers by specifying the header:
- X.B From_.
- XSee the VARIABLES section for more information about
- X.B reply_to_hdr.
- X.sp
- XWhen replying to all recipients of the message using the
- X.B replyall
- X.RB ( R )
- Xcommand, only the original author's address can be obtained from
- Xthe message headers.
- XThere is no way determine the best path to the
- Xother recipients of the message from message headers aside from taking
- Xtheir addresses directly from the \*QTo:\*U and \*QCc:\*U lines.
- X.sp
- XExample:
- X.sp
- X.ti +2
- Xreplyall 3,4,5 -i 4,5 7 -s response mail-group
- X.sp
- XHere, messages 3, 4 and 5 are replied to (all the authors are obtained
- Xfrom each of those messages as well as the recipients from those messages)
- Xand the text from messages 4, 5 and 7 are included in the body of the reply.
- XThe subject is set to "response" and the alias mail-group is appended to
- Xthe list of recipients for this message.
- X.sp
- XThe -r flag will prepend the path to each recipient in the address list
- Xwith the indicated path. This overrides the value of \fBauto_route\fR,
- Xbut has the exact same functionality. See the explanation of the variable
- Xin the VARIABLES section. Also see the MAIL ADDRESSES section for more
- Xinformation concerning replying to messages.
- X.nf
- X.TP
- X.BR save / write / copy " [!] [-s | -a] [msg-list] [filename / directory]"
- X.fi
- X.RB ( s / w )
- XWith no arguments,
- X.B save
- Xand
- X.B write
- Xwill save the current message to the file
- X.I mbox
- Xin the user's home directory (or the file specified by the
- X.B mbox
- Xvariable).
- XIf a message list is given, then the messages specified by
- Xthe list are saved.
- XIf a filename is given, then that filename is used instead of mbox.
- XThe -s options forces the filename used to be that of the subject of
- Xthe message. Similarly, the -a option causes the filename used to be
- Xthat of the author of the message being saved. If more than one message
- Xis being saved, the subject or author name used is that of the smallest
- Xmessage number (since message lists have no order of precedence). With
- Xthese two options, a directly name may be given to specify a directory
- Xother than the current directory.
- X.sp
- XIf the file exists and is writable, the specified command
- Xwill append each message to the end of the file.
- XIf the `!' is given, then the file is overwritten causing whatever contents it
- Xcontains to be lost.
- XThe
- X.B write
- Xcommand differs from
- X.B save
- Xand
- X.B copy
- Xin that the message headers are
- X.I not
- Xsaved in the file along with the body of text.
- X.sp
- XIf the current folder is the system mailbox, then saved messages are
- Xmarked for deletion when the user exits using the
- X.B quit
- Xcommand.
- XIf the variable
- X.I keepsave
- Xis set or the current folder is not the system mailbox, then messages are
- Xnot marked for deletion.
- XThe
- X.B copy
- Xcommand is is like
- X.B save
- Xexcept that messages are never marked for deletion, whether or not
- X.B keepsave
- Xis set.
- X.sp
- XBecause message lists are used to determine the messages to be saved,
- Xif the user wishes to save messages to a file that begins with a digit
- Xor any other message list metacharacter, a backslash should precede
- Xthe filename to escape the message list expansion routine.
- XThe backslash will not become a part of the filename.
- X.TP
- X.BR saveopts " [file]"
- XThe complement of
- X.BR source ,
- X.BR saveopts ,
- Xwill save all settable variables, aliases
- Xand cmd's in the initialization file.
- X(See the INITIALIZATION
- Xsection for more information on initialization files.)
- XIf an argument is given, that file is used.
- XBeware that this will overwrite files, so any \*Qif\*U expressions
- Xwill be lost, as will settings that have changed since entering
- X.IR Mush .
- XUsing saveopts is highly discouraged
- Xand is intended for the naive user only.
- X.TP
- X.BR set " [[?]variable [= value]]"
- X.ns
- X.TP
- X.BR unset " variable"
- X.rs
- XWith no arguments, prints all variable values.
- XOtherwise, sets option.
- XArguments are of the form \*Qoption=value\*U (whitespace is allowed).
- XBoolean expressions need not have \*Q=value\*U associated in the command.
- X.sp
- XThe special command
- X.sp
- X.ti +2
- Xset ?all
- X.sp
- Xwill print all known variables utilized by the program and a brief
- Xdescription of what they do.
- XThe user may set and manipulate his own set of variables, but internal
- Xvariables that are utilized by the program are the only ones displayed.
- X.sp
- XThe command
- X.sp
- X.ti +2
- Xset ?variable_name
- X.sp
- Xwill print the same information for one variable instead of all variables.
- XYou may unset everything by issuing the command \*Qunset *\*U.
- X.sp
- XIt is possible to set a variable to a list of messages returned by another
- Xcommand by using the piping mechanism. For example,
- X.sp
- X.ti +2
- Xpick \-s Status Reports | set reports
- X.sp
- XThe variable, reports, now contains a message list which can be used
- Xas the message list argument to any commands which accepts one.
- X.sp
- X.ti +2
- Xmail \-i $reports boss
- X.sp
- XThis command will mail to \*Qboss\*U and include all the messages held
- Xin the \fIreports\fP variable.
- X.TP
- X.BR sh " [command]"
- XInvokes an interactive version of the shell.
- XThe shell spawned is described by the variable
- X.BR shell .
- XIf the optional argument
- X.B command
- Xis given, then that command is executed under the Bourne Shell.
- XIf the special character `&' is at the end of any shell command,
- Xthen the command will be executed in background.
- X.TP
- X.BR source " [file]"
- XRead
- X.I Mush
- Xcommands from a file.
- XIf no filename is specified, the files searched
- Xfor are .mushrc or .mailrc in the user's home directory.
- XIf the environment variable MAILRC is set, then that file is sourced.
- XIf a filename is given on the command line, that file is sourced.
- XSee the INITIALIZATION heading and the
- X.B home
- Xvariable descriptions for more information.
- X.TP
- X.BR sort " [\-] [a | d | s | S | R]"
- XThis command
- Xwill sort messages according to author, date, status or subject
- X(with or without considering the "Re: ", in replied messages).
- XIn addition, the messages can be sorted in reverse order (same arguments).
- X.sp
- X.nf
- XOptions:
- X.in +2
- X.ta 1i
- X\- reverse sort order
- Xa sort by author (alphabetical)
- Xd sort by date
- Xs sort by subject ignoring \*QRe:\*U
- XR sort by subject (alphabetical)
- XS sort by message status
- X.in -2
- X.fi
- X.sp
- XNote that only one argument (except for the `\-'), may be used.
- XBy default (no arguments),
- X.B sort
- Xsorts messages by
- X.IR status .
- XNew, unread messages are first, followed by preserved messages,
- Xand finally deleted messages are placed at the end of the list.
- X.sp
- XWhen sorting by date, the boolean variable
- X.B date_received
- Xis checked. If it is set, then sorting goes by date received.
- XOtherwise (default), sorting is by date sent by the original author.
- X.sp
- XIf the variable
- X.I sort
- Xis set, messages are sorted each time the user's system mailbox is
- Xread as the current folder.
- XThe
- X.I sort
- Xvariable can be set either to nothing or to legal "sort" arguments.
- X.sp
- XSubsorting can be achieved by using the piping mechanism intrinsic to
- Xthe line mode interface;
- Xno other interface allows subsorting \*Qdirectly\*U.
- XEach interface may allow subsorting if appropriate actions are taken,
- Xas discussed below.
- X.sp
- XTo subsort messages, the folder must be in a particular order to begin
- Xwith.
- XTo sort mail by author and then by subject heading, you would
- Xhave to first sort by author:
- X.sp
- X.ti +2
- Xsort a
- X.sp
- XNow that the messages are in order according to author, sorting a
- Xsublist of messages is done using pipes:
- X.sp
- X.ti +2
- Xpick \-f island!argv@sun.com | sort s
- X.sp
- XThis finds all messages from the user \*Qisland!argv@sun.com\*U
- Xand sorts them by subject.
- XSince these messages are already grouped together via the
- Xprevious sort command, the sorting by subject (s) will restrict itself
- Xto such messages.
- XYou may specify the exact message list by specifying
- Xthat message list on the command line and using a pipe:
- X.sp
- X.ti +2
- X10\-. | sort d
- X.sp
- XThis command means to sort the messages from 10 to the current message
- Xaccording to the date.
- X.sp
- XTo specify subsorting from with the curses interface, the temporary
- Xcurses escape key must be used (the colon `:') and the command issued
- Xat the `:' prompt (as if giving an \*Qex\*U command to \*Qvi\*U).
- XWhen the command is finished, the \*Q...continue...\*U prompt is given and
- Xthe user may continue or return to the top level of the curses mode.
- X.sp
- XIn the tool interface, the user must map a function key to the desired
- Xcommand.
- XSelect the \*QOpts\*U icon with the right mouse button, choose
- Xthe menu item labeled \*Qfunction keys\*U and use the interface provided
- Xto set a function key to the desired piped mechanism.
- X.TP
- X.B stop
- XFor systems with job control, stop will cause
- X.I Mush
- Xto send a SIGTSTP to itself.
- XThe command was introduced to facilitate
- Xthe stop-job action from a complex command line alias rather than the user
- Xhaving to type his stop character explicitly.
- X.TP
- X.B top
- XTakes a message list and prints the top few lines of each.
- XThe number of lines printed is controlled by the variable
- X.B toplines
- Xand defaults to the size of the value of the variable
- X.B crt.
- XThis command is ignored in the tool mode.
- X.TP
- X.BR undigest " [-m] [msg_list] [filename]"
- XA \*Qdigest\*U is a mail message which is a collection of other mail messages
- Xmailed to a \*Qmoderator\*U by other users. The moderator compiles all the
- Xmessages into a folder and sends the result to all the subscribers of the
- Xmailing list. The
- X.B undigest
- Xcommand disassembles the entries into the set of messages which comprises
- Xthe digest.
- X.sp
- XThe -m option will merge these messages into the current folder. Otherwise,
- Xif a filename is specified, a new folder is created and the user can change
- Xfolders to read the messages separately.
- X.sp
- XIf a message list is specified, each digest is disassembled to the same
- Xfilename (if given). If no filename is given and the user did not request
- Xa merge, then a temporary file is made.
- X.sp
- X.SH VARIABLES
- XShell variables are controlled via the
- X.B set
- Xand
- X.B unset
- Xcommands.
- XOptions may be either boolean, in which case it is only
- Xsignificant to see whether or not they are set;
- Xstring, in which case the actual value is of interest;
- Xor numerical, in which case the numerical value is important.
- XSome variables may have attributes
- Xof boolean and string at the same time.
- X.PP
- XIf you or the program references a variable that is not explicitly set,
- Xthen the environment variables are checked and a pointer to that data
- Xis returned.
- X.PP
- XCertain variables that happen to be set to pathnames can be modified
- Xby one of two variable modifiers.
- XThe modifiers `:h' and `:t' may be applied to the variable names.
- XThe current implementation allows only one `:' modifier on each `$' expansion.
- X.TP
- X:t
- XThe variable is treated as a file path name, and the name of the file
- X(the \*Qtail\*U of the path) is substituted for the variable.
- XThat is, everything to the right of the last `/'
- Xis returned.
- X.TP
- X:h
- XThe variable is treated as a path name, and the \*Qhead\*U of the pathname
- Xis substituted for the variable.
- XThat is, everything up to, but not including, the last `/' is returned.
- X.PP
- XThus, you could set your prompt:
- X.sp
- X.nf
- X.ti +2
- Xcmd fo 'fo \!*; set prompt = "! [$thisfolder:t] "'
- X.fi
- X.sp
- XHere, whenever you change folders, your prompt will tell you the name
- Xof the folder you're in.
- X.PP
- XFollowing is a list of all predefined variables.
- X.TP
- X.B alwaysignore
- X(Boolean)
- XIf set, the mail headers set by the
- X.B ignore
- Xcommand are always ignored.
- XNormally, ignored headers are not ignored when sending messages to
- Xthe printer, when interpolating messages into letters with ~f or ~H,
- Xwhen the `P' or `T' command is given (see the \fBprint\f command),
- Xor with the \-h flag to the
- X.B mail
- Xor
- X.B reply
- Xcommands.
- XSetting
- X.B alwaysignore
- Xwill ignore those headers even in the situations mentioned here.
- XNo headers can be ignored during updates and when using the
- X.B save
- Xcommand since the user may ignore headers that are required by
- X.I Mush
- Xor any other mail system to read those folders.
- X.sp
- XAlso see the
- X.B ignore
- Xcommand for more information.
- X.TP
- X.B ask
- X(Boolean)
- XIf set, you will be prompted for a subject header for outgoing mail.
- XIf not set, the Subject header will be displayed as a blank header.
- XUse the tilde escape \*Q~s\*U to set the header once in the message
- Xor specify the \-s option on the
- X.B mail
- Xcommand line at the
- X.I Mush
- Xprompt.
- X.TP
- X.B askcc
- X(Boolean)
- XIf set, you will be prompted for a Cc (carbon copy) list when you are
- Xfinished editing a letter to be sent.
- XIn the tool mode, this is ignored; the Cc list
- Xis always prompted for after the Subject prompt.
- X.TP
- X.B autodelete
- X(Boolean)
- XWhen exiting mail, all messages that have been read
- X.I "regardless of whether they have been marked for deletion"
- Xare removed.
- XOnly messages that haven't been read or that have been marked as
- X.B preserved
- Xare not removed.
- X.TP
- X.B autoedit
- X(Boolean)
- XIf set, you are automatically put into your editor whenever you
- Xsend or reply to mail.
- X.TP
- X.B autoinclude
- X(Boolean)
- XWhen replying to any mail, a copy of the message being replied to
- Xis automatically inserted into your message body indented by
- Xthe string described by the variable
- X.BR indent_str .
- X.TP
- X.B autoprint
- X(Boolean)
- XAfter you delete a message, the next message is printed automatically.
- X.TP
- X.B auto_route
- X(String)
- XIf set boolean (not to a string), all the recipients in a message that
- Xis being replied to (via \fBreplyall\fR), will be routed through the path
- Xback to the original author.
- X.sp
- XFor example, if the original sender of a message came from the remote host
- X.B c3p0
- Xand the list of recipients looked like
- X.sp
- X.nf
- X.in +2
- XFrom: c3p0!user1
- XTo: yourhost!you
- XCc: r2d2!user2, r2d2!user3
- X.in -2
- X.fi
- X.sp
- Xthen clearly, \*Quser1\*U on the machine c3p0 can talk to your machine
- Xand the machine named r2d2.
- XHowever, you would not be able to respond to those users if your machine
- Xdid not exchange UUCP mail with the host r2d2.
- X.sp
- X.I Mush
- Xwill attempt to solve this problem by reconstructing the addresses
- Xfor \*Quser2\*U and \*Quser3\*U according to the address of the original
- Xsender, \*Qc3p0\*U.
- XThe new addresses for \*Quser2\*U and \*Quser3\*U should therefore become
- X.sp
- X.ti +2
- Xc3p0!r2d2!user2, c3p0!r2d2!user3.
- X.sp
- XIf your machine not only talks to c3p0,
- Xbut talks to r2d2 as well, it becomes unnecessary to route the mail
- Xthrough both c3p0 and r2d2.
- XSo, the variable
- X.B known_hosts
- Xmay be set to a list of hosts which you know your machine to have
- XUUCP mail connections with.
- XThis list is checked when constructing mail addresses for replies only and
- Xthe shortest path is made by removing from the UUCP path those hosts
- Xthat do not need to be called or are redundant.
- XSee the entry for
- X.B known_hosts
- Xfor more information.
- X.sp
- XIf
- X.B auto_route
- Xis set to a specific \fBpathname\fR (host names separated by !'s),
- Xall addresses in the reply will have this route prepended to their addresses.
- XThis ignores the original path of the author. This is quite useful for
- Xhosts which talk uucp to a node which is connected to the internet or uunet
- Xsince both of those machines tend to be one-hop away from all other hosts
- X(or reroute accordingly). For example, if a message was addressed like so:
- X.sp
- X.in +2
- X.nf
- XTo: root@ucbvax.berkeley.edu, argv@island.uucp
- XCc: ucbcad!foo!bar
- X.sp
- X.fi
- X.in -2
- XIf auto_route were set to "ucbcad", then replies to this address would be
- Xdirected addressed like so:
- X.sp
- X.in +2
- X.nf
- XTo: ucbcad!ucbvax.berkeley.edu!root, ucbcad!island.uucp!argv
- XCc: ucbcad!foo!bar
- X.sp
- X.fi
- X.in -2
- X.sp
- XThis assumes that the host in question talks uucp with ucbcad. This example
- Xdemonstrates several things. First, notice that all addresses are converted
- Xto uucp-style format. Whenever routing is changed, the format is converted
- Xlike this. Secondly, note that the Cc: line did not change. This is because
- Xall redundant hostnames from UUCP pathnames are removed
- Xto avoid unnecessary UUCP connections and speed up mail delivery.
- X.sp
- XAnother example of how auto_route truncates UUCP paths:
- X.sp
- X.ti +2
- Xpixar!island!sun!island!argv
- X.sp
- XHere, mail was probably originally sent to users at pixar and sun from
- Xsomewhere undetermined now.
- XSince sun and pixar do not talk to each other, the users on those machines may
- Xhave responded to mail creating the type of addresses stated above.
- XHere, it can be seen that we can reduce the path to the host
- X.IR island :
- X.sp
- X.ti +2
- Xpixar!island!argv
- X.sp
- XSee the MAIL ADDRESSES section for more detailed information
- Xabout legal mail addresses.
- X.sp
- XNote that the -r flag to \fBreply\fR and \fRreplyall\fR overrides the
- Xvalue of \fBauto_route\fR.
- X.TP
- X.B autosign
- X(Boolean/string)
- XAppend a signature to outgoing mail.
- XIf this variable is set, but not to a string (e.g., boolean-true)
- Xthen the file ~/.signature is used.
- X.sp
- XOtherwise, the variable is interpreted in one of three ways.
- XBy default, the string is interpreted as a pathname relative to the
- X.I current
- Xdirectory.
- XFor this reason, it is advisable to use full pathnames here.
- XAs usual, the special characters `~' and `+' are expanded.
- XIf a file is found, it is opened and its contents are read into the
- Xmessage buffer.
- X.sp
- XIf the variable is set to a string that begins with `$', then that string
- Xis interpreted as a user-definable variable and is expanded and appended
- Xto the letter.
- X.sp
- XFinally, if the variable is set to a string that begins with a backslash (\\)
- Xthen the string itself (minus the `\\' character) is used; no expansion
- Xis done and no files are read.
- X.sp
- XIn the latter two cases, it is advisable to set the variable using single
- Xquotes to avoid expanding the variable beforehand or eliminating the
- Xbackslash.
- XExamples:
- X.sp
- X.nf
- X.ti +2
- Xset autosign = '$foo'
- X.ti +2
- Xset autosign = '\\ Dan Heller island!argv@ucbcad.berkeley.edu'
- X.fi
- X.sp
- X.BR Warning :
- Xif redirection from the calling shell is used,
- Xno signature or fortune will be added to outgoing mail.
- XFor example,
- X.sp
- X.ti +2
- X% mush \-s report manager < report_file
- X.sp
- XIn this command, mail is being sent to the user \*Qmanager\*U and the
- Xsubject is set to \*Qreport\*U and the file \*Qreport_file\*U is being
- Xredirected as input. In this case, there will be \fIno\fR signature
- Xappended.
- X.TP
- X.B autosign2
- X(String)
- XThis alternate signature is available for special cases where the default
- Xsignature is not desired or if no signature is desired for special addresses
- Xor if only special addresses require a signature.
- XThe format for this variable is:
- X.sp
- X.ti +2
- Xautosign2 = \*Qaddress1, address2, ... : <signature>\*U
- X.sp
- XEach address can be one of these types:
- X.TP
- X1) address
- XLegal mailing addresses that do not contain comment
- Xfields (see the sections MAIL ADDRESSES for more information on legitimate
- Xmail addresses).
- X.TP
- X2) *username
- XIf the username is present on the recipient list, regardless of what
- Xremove site the user may reside (including locally), the pattern matches.
- X.TP
- X3) !hostname !host1!host2...
- XAny user can be specified as long as he resides on the specified hostname.
- XIf a path of hosts is specified, then the user must reside on the end of
- Xthe specified path.
- X.TP
- X4) @dom.ain
- XThe user must reside on any host within the domain specified. Neither
- Xthe user or the hostname needs to match; only the domain name must be
- Xrequired to match.
- X.sp
- XExample:
- X.sp
- X.nf
- X.ti +2
- Xset autosign2 = \*Q!island @berkeley.edu @mit.edu *schaefer root: \--dan\*U
- X.fi
- X.sp
- XThis means that any mail sent to 1) anyone at island, 2) anyone within
- Xthe berkeley domain, 3) anyone within the mit domain, 4) Bart Schaefer
- X(at any host anywhere -- even locally),
- Xand 4) root on my local machine only (or, root@my-machine-name)
- Xwill be signed by my "alternate" signature. If any address on the
- Xrecipient list fails to satisfy these four matches, the mail will be
- Xsigned by my regular signature.
- X.sp
- XOne can have a local signature and a remote signature by specifying
- Xthe autosign2 to include the hostname of the home machine the user
- Xis logged into. Note the \*Qisland\*U example above.
- X.sp
- XThe list of recipients, after alias expansion and comment removal, is
- Xthen scanned and the following patterns are matched against those addresses
- Xspecified in the autosign2 or fortunates variable according to these rules.
- X.sp
- XThe signature description is the same as described by
- X.B autosign
- Xvariable. The colon (:) separates the list of addresses from the signature
- Xdescription. If there is no colon or the address list is missing, the
- Xentire string is considered the signature (except for the colon).
- X.sp
- XIf
- X.B autosign
- Xis not set, then autosign2 will ONLY work if the tilde command \*Q~S\*U
- Xis specified. In this way, a user may never have autosign set and just
- Xset autosign2 to be some signature value. The user may then issue the
- Xtilde command to automatically sign the letter.
- XIf a list of addresses is given (terminated by a colon), then all
- Xrecipients of the message must be in the list of addresses in autosign2;
- Xotherwise, the signature in \fBautosign\fR (if set) is used instead.
- XA null signature in autosign2 will not sign the letter.
- X.sp
- XExample:
- X.sp
- X.nf
- X.ti +2
- Xset autosign2 = "fred, barney, wilma, betty: ~/flintstone.sig"
- X.fi
- X.sp
- XIf a message is sent to:
- X.sp
- X.ti +2
- XTo: fred, wilma
- X.sp
- XThen the file ~/flinstone.sig will be used.
- XHowever, if the address were:
- X.sp
- X.ti +2
- XTo: barney, betty, bambam
- X.sp
- XThen autosign2 will not be used because bambam is not in the list.
- X.sp
- XNote that mail sent via redirection from the calling shell will not
- Xsign letters or append fortunes.
- X.TP
- X.B cdpath
- X(String)
- XSet to a string of pathnames separated by spaces to use when searching
- Xfor a directory when the
- X.B cd
- Xcommand is issued.
- XIf this variable is used, it is recommended that the path `.' be included.
- XNote that this differs from the
- X.IR csh ,
- Xwhich does not require that `.' be present.
- X.TP
- X.B crt
- X(Numeric)
- XSet to a value that describes the number of lines a message
- Xmust have before invoking the
- X.B pager
- Xto view a message.
- X.TP
- X.B cwd
- X(String)
- XThe
- X.B "current working directory"
- Xstring is automatically set upon startup of
- X.I Mush
- END_OF_FILE
- if test 49816 -ne `wc -c <'mush.1.2'`; then
- echo shar: \"'mush.1.2'\" unpacked with wrong size!
- fi
- # end of 'mush.1.2'
- fi
- echo shar: End of archive 18 \(of 19\).
- cp /dev/null ark18isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 19 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-